package com.demo;

import java.sql.*;
import java.util.ResourceBundle;


public class 从属性资源文件中读取数据库连接信息 {
    public static void main(String[] args) {
        //定义全局变量，方便释放资源。
        Statement sta = null;//
        Connection con = null;//创建一个Connection型变量（连接数据库的类型）

        ResourceBundle bundle = ResourceBundle.getBundle("配置文件");
        String driver = bundle.getString("driver");
        String url = bundle.getString("url");
        String user = bundle.getString("user");
        String password = bundle.getString("password");

        try {
            //注册驱动
            Class.forName(driver);
            //获取数据库连接
            con = DriverManager.getConnection(url, user, password);
            System.out.println("链接的数据库是：" + con);
            //获取数据库操作对象
            sta = con.createStatement();
            //获取sql语句
            String str = "insert into books_4 values(02,'雷军',89.0,83,NOW()),(03,'拜登',82.0,65,NOW())";
            //String str = "delete from books_4 where id in(2,3)" ;
            //执行sql语句
            int count = sta.executeUpdate(str);
            if (count != 0) {
                System.out.println("执行成功！");
            } else {
                System.out.println("执行失败！");
            }
            //执行查询结果集

        } catch (Exception e) {
            System.out.println("代码有问题！");
        } finally {
            //释放资源
            if (sta != null) {
                try {
                    sta.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
            if (con != null) {
                try {
                    con.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
        }


//        try {
//
//            //第一步：注册驱动
//            //Driver driver=new com.mysql.cj.jdbc.Driver();//MySQL8.0.23的注册方法，从包名开始创建一个Driver实现类的对象
//
//            //DriverManager.registerDriver(driver);//注册给定的驱动程序DriverManager。利用这个对象去注册驱动
//            Class.forName("com.mysql.cj.jdbc.Driver");
//            //第二步：获取链接对象
//            String url = "jdbc:mysql://localhost:3306/xclmf";
//            //用”jdbc:mysql://“协议，找到“127.0.0.1”IP位置的电脑，连接该电脑上的“3306”端口软件(一般都是数据库系统管理软件，MySQLyog)，再连接MySQLyog里面的“xclmf”数据库
//            //url=协议（jdbc:mysql://）+IP地址（127.0.0.1）+端口号（3306）+具体资源（xclmf，数据库名）
//            //IP地址与端口号之间用冒号隔开
//            //不同数据库之间的通信协议不同，上面的是MySQL的通信协议
//            String user="root";//连接的数据库，用户名
//            String password="552200";//连接的数据库，密码
//
//            //调用getConnection方法，去连接数据库。返回值是Connection的
//            connection = DriverManager.getConnection(url,user,password);
//            System.out.println("数据库连接对象："+connection);
//
//            //第三步：获取sql对象
//            statement = connection.createStatement();//创建一个可以去执行sql语句的对象
//
//            //第四步：执行sql语句
//            //将sql语句封装在String型变量中
//            String str = "insert into books_4 values(02,'雷军',89.0,83,NOW()),(03,'拜登',82.0,65,NOW())" ;
//            //String str = "delete from books_4 where id in(2,3)" ;
//
//            //调用Statement类中的特有方法，执行sql语句，并返回一个整型数据，即MySQL中有几行受影响
//            int count=statement.executeUpdate(str);
//            if (count !=0) {
//                System.out.println("执行成功！");
//            }else{
//                System.out.println("执行失败！");
//            }
//
//            //第五步：处理查询结果集
//
//        } catch (Exception e) {
//            System.out.println("出错！");;
//        }finally {
//            //第六步：释放资源
//            try {
//                if (statement != null) {
//                    statement.close();
//                }
//            } catch (SQLException throwables) {
//                throwables.printStackTrace();
//            }
//            try {
//                if (connection != null) {
//                    connection.close();
//                }
//            } catch (SQLException throwables) {
//                throwables.printStackTrace();
//            }
//
//
//
//        }
    }
}
